<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>封闭对象的API属性</title>
</head>
<body>
    
</body>
<script>
    /*
        封闭对象的API属性包括对象 不能被删除 不能够添加 不能够修改属性特性 ！！
            注意！  不能被修改属性特性的意思是属性的 不代表值不能够被修改
    */
    let obj = {
        name:'jimmy',
        age:22
    }
    Object.seal(obj)
    obj.name = 'xuexue'
    console.log(obj)
    obj.sex = 'man'
    console.log(obj)  //{name: "xuexue", age: 22} 添加失败
    delete obj.age
    console.log(obj)  //{name: "xuexue", age: 22}  属性删除失败

    // 以上就是封闭对象的主要作用 它可以很好的保护住我们对象不被外界所修改
    // 我们也可以通过 Object.isSealed()方法来判断对象是否是封闭状态
    if(Object.isSealed(obj)){
        console.log('处于封闭状态')
    }else{
        console.log('不是处于封闭状态')
    }
    //处于封闭状态
</script>
</html>